레드팀
레드팀풀체인_10_도메인 장악
작성자 : Heehyeon Yoo|2026-01-18
# RedTeam# DomainDominance# ADCS# ShadowCredentials# UnconstrainedDelegation
개별 호스트 장악을 넘어, Active Directory 도메인 전체의 제어권을 탈취하는 고급 공격 기법이다. 본 문서에서는 DEV, US, RT 세 가지 도메인 환경에서의 장악 시나리오를 다룬다.
1. DEV 도메인: Shadow Credentials
상황: JUMP01 로컬 관리자 권한 확보 후 dev.raccoon 도메인 장악 시도.
1.1 정보를 이용한 공격 경로 식별
- LSA Secrets 덤프:
Mimikatz(lsadump::secrets)를 사용하여 레지스트리에 저장된 서비스 계정의 평문 자격 증명을 획득한다.- 발견:
svc-healthchecker계정의 평문 비밀번호 확인.
- 발견:
- BloodHound 분석: 해당 계정이 도메인 컨트롤러(
DDC01)의 머신 계정 객체에 대해GenericWrite권한을 보유함을 식별한다.
1.2 Shadow Credentials 공격(msDS-KeyCredentialLink)
도메인 객체의 msDS-KeyCredentialLink 속성에 공격자의 공개키(Key Credential)를 주입하여 인증서를 발급받지 않고도 PGT(Pre-Authentication Generation Token)를 획득, 계정을 탈취하는 기법이다.(Whisker 도구 사용)
- 절차:
pywhisker로 타겟 머신 계정(DDC01$)에 키 주입.Certipy를 사용해 해당 키로 인증 수행(PKINIT).- 획득한 TGT를 이용해 DCSync 수행(
secretsdump.py). - 결과:
DEV도메인의krbtgt및Administrator해시 획득.
2. US 도메인: Unconstrained Delegation
상황: SQL01 장악 후 us.rt.local 도메인 장악 시도.
2.1 토큰 탈취 및 횡적 이동
- 세션 헌팅(Session Hunting):
Rubeus triage로 현재 활성화된 세션 확인.Rahat.Kuma유저(이전 정찰에서WEB01관리자 권한 보유 확인) 식별. - Impersonate: 해당 유저의 액세스 토큰 복제(
token impersonation) 및WEB01로 WMI 횡적 이동.
2.2 비제약 위임(Unconstrained Delegation) 공격
WEB01은 비제약 위임이 설정된 호스트이다. 도메인 컨트롤러가 이 호스트에 인증을 시도하면, DC의 TGT가 메모리에 남게 된다.
- Printer Bug(
SharpSpoolTrigger): 도메인 컨트롤러(UDC01)의SpoolService를 강제로 트리거하여WEB01로 인증을 요청하게 만든다(Coerced Authentication). - TGT 덤프 및 활용:
Rubeus감시 모드(monitor)로 인증 즉시 메모리 내 DC의 TGT 캡처.- 캡처한 TGT를
ccache로 변환하여 로컬 세션에 주입. - DCSync 수행 ->
US도메인 장악.
3. RT 도메인(Root): ADCS ESC1
상황: US 도메인 장악 후 부모 도메인 rt.local 장악 시도.
3.1 ADCS 정보 수집
Certify 도구를 사용하여 취약한 인증서 템플릿 탐색.
- 취약점 식별(
ESC1):RTCodeSigning템플릿.- Client Authentication: 클라이언트 인증 용도로 사용 가능.
- ENROLLEE_SUPPLIES_SUBJECT: 인증서 요청자(Enrollee)가 주체 대체 이름(SAN)을 임의로 지정 가능. 즉, 공격자가 "나는 Administrator다"라고 주장 가능.
3.2 공격 절차
- 인증서 요청:
Certipy를 사용하여RTCodeSigning템플릿으로rt.local\Administrator를 사칭(SAN 지정)하여 인증서 요청. - 인증 및 해시 획득: 발급받은
pfx인증서를 이용해 Kerberos 인증(PKINIT) 수행 → Enterprise Admin의 NT Hash 획득. - PDC 장악: 획득한 해시로 Pass-The-Hash(PtH) 수행 후, 커스텀 서비스 바이너리를 이용해 Primary Domain Controller로 횡적 이동.
- OpSec: Sliver 기본 바이너리 대신, 직접 컴파일한 100줄 미만의 간단한 서비스 바이너리(
sliver-svc.exe)를 사용하여 EDR 탐지 회피.
- OpSec: Sliver 기본 바이너리 대신, 직접 컴파일한 100줄 미만의 간단한 서비스 바이너리(
4. 결론
도메인 장악은 단일 기법이 아닌, 구성 설정의 미흡함(Misconfiguration)을 연쇄적으로 악용(Chaining)하여 달성된다.
- DEV: 과도한 권한(
GenericWrite). - US: 레거시 설정(
Unconstrained Delegation). - RT: 부적절한 인증서 템플릿 설정(
ESC1).
레드팀은 이러한 구조적 결함을 식별하고, 비즈니스 영향도(Business Impact)를 증명하는 포괄적인 시나리오를 구성해야 한다.